/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Distribuciones;

import entidad.FactoryDistribucion.DISTRIBUCION_NOMBRES;

/**
 *
 * @author USUARIO
 */
public class Uniforme implements Distribucion{

    private double limiteInferior,limiteSuperior,ancho;
    public static final DISTRIBUCION_NOMBRES nombre = DISTRIBUCION_NOMBRES.UNIFORME;
    public static final String[] parametros = {"limite inferior","limite superior"};
    public static final String[] tipoParametros = {"double","double"};
    
    public Uniforme(double a, double b) {
        this.limiteInferior = a;
        this.limiteSuperior = b;
        this.ancho = 1/(Math.abs(b-a));
    }

    @Override
    public double generar(double u) {
        return (limiteSuperior-limiteInferior)*u+limiteInferior;
    }

    @Override
    public DISTRIBUCION_NOMBRES getNombre() {
        return nombre;
    }

    public double getLimiteInferior() {
        return limiteInferior;
    }

    public double getLimiteSuperior() {
        return limiteSuperior;
    }

    public double getAncho() {
        return ancho;
    }

    @Override
    public String[] getParametros() {
        return parametros;
    }

    @Override
    public String[] getTipoParametros() {
        return tipoParametros;
    }

    @Override
    public double calcularMedia() {
        return (limiteInferior+limiteSuperior)/2D;
    }
    
}
